DENSE-LSTM-1

Ziel dieses Ansatzes ist es, die Daten vor der Übergabe an die LSTM-Schicht durch eine Dense-Schicht vorzuverarbeiten. Dafür wird eine Dense- und eine LSTM-Schicht á 32 Neuronen trainiert. Das Training erfolgt über 100 Epochen mit 8er Batches und einer Lernrate von 0,0005.

Modell und Parameter

Daten laden

Training

Auswertung des Trainings

Wie schon bei den vorherigen Ansätzen zeigt sich auch hier, dass das Netz sehr schnell anlernt. Setzt die Konvergenz des Modells erst später ein und es sind leichte Überanpassungen erkennbar. Der MAPE ist während der Kreuzvalidierungen allgemein etwas geringer, jedoch zeigt sich auch hier die leichte Anpassung an die Trainingsdaten.

Der MAPE auf den Testdaten ist beim finalen Test bereits sehr gut. Die Lernrate scheint allerdings etwas zu hoch zu sein.

Test

DENSE-LSTM-2

Da die Lernkurven immer wieder auf eine zu hohe Lernrate hindeuten, wird zunächst eine niedrigere Lernrate getestet, bevor andere Architekturen ausprobiert werden.

Modell und Parameter

Daten laden

Training

Auswertung des Trainings

Es zeigt sich allerdings ein ähnliches Verhalten wie bei den anderen Netzen: Die niedrigere Lernrate ändert nichts am Verhalten des Netzes, es lernt immer noch sehr schnell am Anfang und wird durch weitere Epochen kaum verbessert.

Der MAPE fällt bei der niedrigeren Lernrate allerdings ein wenig.

Test

DENSE-LSTM-3

Das Netz soll durch zusätzliche Neuronen erweitert werden, um mehr Potenzial für Generalisierungen zu bieten. Außerdem werden die übrigen Trainingsparameter wie bei DENSE-LSTM-1 gewählt.

Modell und Parameter

Daten laden

Training

Auswertung des Trainings

An der Lernkurve ist erkennbar, dass das Netz zwar immer noch sehr schnell lernt, allerdings beginnt es nach etwa 60 Epochen mit der Konvergenz bei den Testdaten und mit der Überanpassung an die Trainingsdaten. Hier könnten Dropouts oder Regularisierungen möglicherweise zu Verbesserungen führen.

Der MAPE verbessert sich auf den Testdaten auf 2,15% und auf den Trainingsdaten auf 1,33%. Es liegt also eine Überanpassung vor, allerdings führen die zusätzlichen Neuronen zu einer erkennbaren Verbesserung.

Test

DENSE-LSTM-4

Aufgrund der Verbesserung des Netzes durch mehr Neuronen im letzten Versuch wird nun probiert, das Netz durch noch mehr Neuronen zu verbessern.

Modell und Parameter

Daten laden

Training

Auswertung des Trainings

An der Lernkurve ist wie auch im letzten Versuch zu erkennen, dass die Überanpassungen ab etwa 60 Epochen eintreten, gleichzeitig konvergiert das Modell auf den Testdaten. Da das Netz gute Werte beim MAPE erreicht, sollte nun versucht werden, das Netz beziehungsweise das Training robuster gegen Überanpassungen zu machen.

Test

DENSE-LSTM-5

Das Netz ist mit 64 und 128 Neuronen in den beiden Schichten bereits sehr groß. Da bereits gute Ergebnisse erzielt werden, wird von zusätzlichen Vergrößerungen abgesehen. Stattdessen wird nun versucht, die Überanpassung ab der etwa 60. Epoche durch Regularisierung zu beheben. Dafür wird zunächst die Anzahl der Epochen von 150 auf 100 gesenkt und eine L2-Regularisierung von 0,0001 in beide Schichten eingefügt.

Modell und Parameter

Daten laden

Training

Auswertung des Trainings

Das Netz neigt immer noch zu Überanpassungen ab etwa der 60. Epoche. Allerdings scheint die Konvergenz etwas später bei 100 Epochen einzusetzen.

Der MAPE verbessert sich auf den Testdaten auf 2,17%, auf den Trainingsdaten erreicht er 1,34%. Die Werte stimmen in etwa mit denen aus der Kreuzvalidierung überein. Durch die Regularisierung konnte das Netz also etwas besser generalisieren.

Test

DENSE-LSTM-6

Da eine leichte Regularisierung das Netz verbessert hat, wird eine etwas größere Regularisierung von 0,001 angewandt.

Modell und Parameter

Daten laden

Training

Auswertung des Trainings

Während der Kreuzvalidierungen verhält sich das Modell ähnlich, beim finalen Test kommt es allerdings zu stärkeren Abweichungen als bei dem Modell mit einer niedrigeren Regularisierung. Mit 0,001 ist die Regularisierungsstärke also vermutlich etwas zu hoch gewählt.

Test

DENSE-LSTM-7

Da die Regularisierungsstärke mit 0,0001 angemessen scheint, wird im Folgenden ein leichter Dropout von 5% zwischen den Schichten als Alternative zu einer größeren Regularisierung eingesetzt, um die Überanpassungen zu vermeiden.

Modell und Parameter

Daten laden

Training

Auswertung des Trainings

Der Dropout stört den Anlernprozess zwar nicht so stark wie eine stärkere Regularisierung von 0,001, allerdings lässt sich die Überanpassung dadurch auch nicht reduzieren. Da es im Vergleich zu DENSE-LSTM jedoch zu leicht schlechteren Vorhersagen kommt (MAPE fällt von 2,17% auf 2,35%), wird von einem weiteren Einsatz des Dropouts abgesehen.

Test

DENSE-LSTM-8

Da die ReLu bei etwas tieferen Netzen das Problem der verschwindenden Gradienten kompensieren kann, wird die tanh-Funktion testweise durch die ReLu ersetzt.

Modell und Parameter

Daten laden

Training

Auswertung des Trainings

Mit der ReLu-Funktion in beiden Schichten lässt sich keine wirklice Verbesserung erzielen, der MAPE ist fast gleich wie bei den vorherigen Netzen und auch das Training verläuft sehr ähnlich.

Test

DENSE-LSTM-9

Da sich tanh bei LSTM bewährt hat, wird ebenfalls getestet, wie sich das Netz mit der ReLu-Funktion zur Aktivierung in der Dense-Schicht verhält, wenn bei LSTM weiterhin tanh eingesetzt wird.

Modell und Parameter

Daten laden

Training

Auswertung des Trainings

Die Lernkurve verhält sich zwar immer noch nach dem bereits beschriebenen Muster, allerdings setzt die Konvergenz jetzt etwas später ein. Von einem noch längeren Training wird allerdings abgesehen, dass es ab der 60. Epoche bereits zu Überanpassungen kommt, welche sich bisher nicht beheben ließen.

Beim MAPE zeigt sich allerdings eine deutliche Verbesserung auf den Testdaten (von 2,17% bei DENSE-LSTM-5 auf 1,99%), bei den Trainingsdaten verhält sich das Modell aber ähnlich (1,34% bei DENSE-LSTM-5 und 1,35% hier). Das Modell scheint also besser generalisieren zu können, wenn die ReLu in der Dense-Schicht verwendet wird.

Test

DENSE-LSTM-10

Es wird nun probiert, die Lernrate von 0,0005 auf 0,001 und gleichzeitig die Regularisierung von 0,0001 auf 0,001 zu erhöhen, um die Überanpassungen beim langen Training zu verhindern.

Modell und Parameter

Daten laden

Training

Auswertung des Trainings

Die Änderungen haben im Vergleich zu DENSE-LSTM-10 allerdings keine Veränderung beim Training oder den Ergebnissen geführt.

Test

DENSE-LSTM-11

Es wird weiterhin überprüft, ob das Modell aufgrund der geringen Batchgröße möglicherweise das globale Minimum der Verlustfunktion nicht erreichen kann. Daher wird die Batchgröße auf von 8 auf 16 erhöht.

Modell und Parameter

Daten laden

Training

Auswertung des Trainings

Die Verlustfunktion läuft sehr ähnlich, beim finalen Test kommt es allerdings wieder zu einer sichtlichen Verschlechterung des MAPE auf 2,33%. Die Batchgröße ist also angemessen gewählt.

Test

DENSE-LSTM-12

Mit DENSE-LSTM-9 ließen sich bereits gute Ergebnisse erzielen. Es wird nun geprüft, ob sich die Überanpassungen durch kleine Dropouts verhindern lassen.

Modell und Parameter

Daten laden

Training

Auswertung des Trainings

Es zeigt sich allerdings erneut, dass selbst kleinste Dropouts von gerade einmal 5% sofort zu einer Unteranpassung führen, da der MAPE bei den Testdaten sehr stark auf 2,33% fällt. Die Trainingsdaten werden mit einem MAPE von 1,6% ebenfalls schlechter erkannt. Der Einsatz von Dropouts ist also nicht förderlich für das Modell.

Test

DENSE-LSTM-13

Die Lernrate wird im Vergleich zu DENSE-LSTM-9 etwas erhöht, da das Netz immer noch in den frühen Epochen sehr schnell und in späten Epochen sehr wenig lernt.

Modell und Parameter

Daten laden

Training

Auswertung des Trainings

Das Modell erzielt ähnliche Ergebnisse, am Verlauf der Lernkurve lässt sich durch die Lernrate nichts ändern.

Test

DENSE-LSTM-14

Wie auch bei den LSTM-DENSE-Modellen wird die Fenstergröße untersucht. Dafür wird zunächst ein kleineres Fenster der Länge 7 ausprobiert.

Modell und Parameter

Daten laden

Training

Auswertung des Trainings

Das kürzere Fenster führt zu einer leichten Unteranpassung, ansonsten ändert sich am Verhalten des Modells so gut wie gar nichts.

Test

DENSE-LSTM-15

Neben einem verkürzten Fenster wird auch ein längeres Fenster mit 21 Zeitschritten verwendet.

Modell und Parameter

Daten laden

Training

Auswertung des Trainings

Das längere Fenster führt zu einer leichten Verschlechterung auf den Testdaten und einer Verbesserung auf den Trainingsdaten. Wenn die Fensterlänge erweitert wird, scheint es also eher zu Überanpassungen an die Trainingsdaten zu kommen. Die Fensterlänge von 14 ist also angemessen.

Test

DENSE-LSTM-16

Das Netz lässt sich theoretisch endlos erweitern oder optimieren. Es könnten weitere Schichten, mehr Neuronen, andere Arten von Schichten und Aktivierungsfunktionen etc. eingesetzt werden. Auch die Hyperparameter des Trainings könnten noch verändert werden. Da aber unmöglich alle denkbaren Kombinationen von Architekturen und Parametern ausprobiert werden können, wird das Netz nur näherungsweise optimiert. Folgende Erkenntnisse wurden während des Modeling gewonnen:
1. Das Netz erzielt mit einer Dense-Schicht á 64 und einer LSTM-Schicht á 128 Neuronen sehr gute Ergebnisse
2. Als Aktivierungsfunktion für die Dense-Schicht bietet sich die ReLu-Funktion an, in der LSTM-Schicht wird tanh verwendet.
3. Die Fensterlänge ist mit 14 Zeitschritten angemessen. Kleinere Fenster führen zu Unteranpassungen, größere Fenster führen zu Überanpassungen und sehr viel komplexeren Modellen.
4. Als Lernrate bietet sich 0,0005 in Verbindung mit einer Batchgröße von 8 an. Größere Batches führen nicht dazu, dass das Minimum der Verlustfunktion besser erreicht werden kann. Die Netze lernen zwar in frühen Epochen schnell an, allerdings haben weitere Epochen bei einer derart niedrigen Lernrate immer noch positive Effekte.
5. Das Training erfolgt über 100 Epochen, da hier die Konvergenz des Modells auf den Test- beziehungsweise Validierungsdaten einsetzt.
6. Ab etwa der 60. Epoche kommt es zu leichten Überanpassungen an die Trainingsdaten. Diese lassen sich durch eine L2-Regularisierung mit einer Stärke von 0,0001 teilweise beheben. Höhere Regularisierungsstärken frühen zu Unteranpassungen, da der Lernprozess zu stark gestört wird. Selbst kleine Dropouts führen zu starken Unteranpassungen und lassen sich daher nicht für das Modell verwenden.

Es wird als ein zweischichtiges Netz aus einer Dense-Schicht á 64 und einer LSTM-Schicht á 128 Neuronen trainiert. Die Dense-Schicht wird mit der ReLu-Funktion, die LSTM-Schicht mit tanh aktiviert. Für die LSTM-Schicht wird eine Fenster über 14 Zeitschritte verwendet. Das Training erfolgt über 100 Epochen mit Batches der Größe 8 und einer Regularisierung von 0,0001.

Modell und Parameter

Daten laden

Training

Auswertung des Trainings

Das Modell erreicht einen MAPE von 1,94% auf den Testdaten und ist damit etwas besser als die während der Kreuzvalidierung erstellten Modelle. Der Unterschied ist allerdings sehr gering und kann vermutlich auf die größere Datenbasis beim finalen Test zurückgeführt werden. Auf den Trainingsdaten wird ein MAPE von 1,37% erreicht, hier zeigt sich also immer noch die leichte Überanpassung, die in der Lernkurve ab etwa der 60. Epoche einsetzt. Die Überanpassung ist allerdings gering ausgeprägt und lässt sich nicht weiter kompensieren. Sie wird daher akzeptiert. Restriktionen und Vorbehalte bezüglich des Trainings und der hier erzielten Ergebnisse sind in der Ausarbeitung zu finden.

Test